package com.cn.boot.student.service.rbac;

import com.cn.boot.student.util.CommonResult;
import com.cn.boot.student.entity.PermissionEntity;
import com.cn.boot.student.entity.UserEntity;
import com.cn.boot.student.vo.LoginParams;

import java.util.List;

public interface IUserService {
    //根据用户名（账号） 查询用户实体（不包含权限）
    UserEntity getUserByName(String name);
    //根据用户id查询用户的权限
    List<PermissionEntity> getPermissionsByUserId(Integer id);
    //登录
    CommonResult login(LoginParams loginParams);
    //注册
    CommonResult register(UserEntity userEntity);

    //用户列表
    CommonResult findAll(UserEntity userEntity);
    //删除数据
    CommonResult del(Integer id);
    //批量删除
    CommonResult dels(List<Integer> ids);
    //更新
    CommonResult update(UserEntity userEntity);
    //根据id查找用户
    CommonResult findById(Integer id);
    //批量添加
    CommonResult adds(List<UserEntity> users);

    /**
     * 添加用户
     * @param userEntity
     * @return
     */
    CommonResult add(UserEntity userEntity);

    /**
     * 修改密码
     * @param userEntity
     * @return
     */
    CommonResult updatePassword(UserEntity userEntity);

    /**
     * 得到学员列表
     * @param userEntity
     * @return
     */
    CommonResult getStudent(UserEntity userEntity);
    /**
     * 根据用户名查询用户id
     */
    CommonResult findUserIdByUsername(String username);
}
